def say(s):  # 函数定义 s形参
    print("hello", s)

say('hh')  # 调用函数 hh实参


def calculate(a, opt, b):
    if opt == '+':
        print(a, opt, b, "=",a+b)
    elif opt == '-':
        print(a, opt, b, "=",a-b)
    elif opt == '*':
        print(a, opt, b, "=",a*b)
    elif opt == '/':
        print(a, opt, b, "=",a/b)
    else:
        print('error')

# a = int(input('请输入数字：'))
# o = input('符号')
# b = int(input('请输入数字：'))
#
# calculate(a, o, b)


def chi(zhu, fu, tang,tian):
    print('主食：',zhu,'副食：',fu,'汤：',tang,'甜点：',tian)

chi('三鲜', '面条', '肉圆汤', '布丁')
chi(zhu='米饭',tang='冬瓜汤',fu='包子',tian='仙草仙粉')
chi('糯米','饺子', tian='玉米', tang='鱼丸汤')

def enter(name, age, sex = '男'):
    print('姓名：',name,'年龄：',age,'性别：',sex)

enter('张三', 18)
enter('张历', 19, '女')

def eat(*food):
    """
    定义一个可接受不定数量参数的函数eat。

    该函数的目的是模拟吃东西的行为，它可以接受任意数量的食物作为参数，
    并打印出将要吃的食物列表。

    参数:
    *food: 可变参数，代表可以接受多个食物名称作为输入。使用元组存储所有传入的食物名称。

    返回值:
    无返回值。该函数仅负责打印出食物列表，不返回任何值。
    """
    # 打印食物列表
    print('我要吃', food)


eat('三鲜', '面条', '肉圆汤', '布丁')

def eat2(**food):
    """
    将给定的食物字典打印出来。

    参数:
    **food (dict): 一个包含食物名称作为键和对应数量或描述作为值的字典。

    返回:
    无返回值，直接将食物字典打印出来。
    """
    print(food)


eat2(tang='冬瓜汤', fu='面条')

def func(a,b,*args,c="hahah",**kwargs):
    print(a,b,'c：',c,'args：',args,'kwargs:',kwargs)


func(1,2,4,5,6,7,8, c='呵呵',fu="鸡蛋",tang="肉圆汤")

def func2(*args,**kwargs):
    print(args, kwargs)

func2()
func2(2)
func2(1,2)
func2(1,2 ,tt = '2244')

stu_lst = [
    '张三', '李四', '王五', '赵六', '钱七'
]
def func3(*args):
    """
    打印所有传入的参数。

    参数:
    *args: 可变数量的参数，以元组形式收集所有传入的参数。

    返回值:
    无返回值。
    """
    print(args)


func3(*stu_lst)

def add(a,b):
    return a+b

ret = add(1,2)
print(ret)

def fuc5(a,b,c):
    return a,b,c

ret2 = fuc5(1,2,3)
print(ret2)